using UnityEngine;
using QFramework;
using System.Collections.Generic;

namespace ProjectSurvivor
{
	//篮球能力
	public partial class BasketBallAbility : ViewController
	{
		//篮球列表
		public List<Ball> mBalls = new List<Ball>();
		void Start()
		{
			//创建篮球
			void CreateBall()
			{
				mBalls.Add(Ball.Instantiate()
				//同步位置  将新创建的球体位置同步到当前对象的位置
				.SyncPosition2DFrom(this)
				//显示
				.Show());
			}
			//创建多个篮球
			void CreateBalls()
			{
				//计算需要创建的篮球数量=篮球数量+额外飞行物体数量-当前篮球数量
				var ballCount2Create = Global.BasketBallCount.Value + Global.AdditionalFlyThingCount.Value - mBalls.Count;
				for (var i = 0; i < ballCount2Create; i++)
				{
					CreateBall();
				}
			}
			//任意事件变更之后，这里两个组合成了一个  任意一个增加都会触发下面的方法
			Global.BasketBallCount.Or(Global.AdditionalFlyThingCount)
			.Register(CreateBalls).UnRegisterWhenGameObjectDestroyed(gameObject);

			CreateBalls();

		}
	}
}
